/*
 *  message_queue.h
 */

#ifndef MESSAGE_QUEUE_H
#define MESSAGE_QUEUE_H

#include <queue>
#include "message.h"
#include "mutex.h"

class MessageQueue {
public:
    MessageQueue();
    ~MessageQueue();
    void push(Message* msg);
    Message* pop();
    bool empty();
private:
    Mutex mutex;
    std::queue<Message*> q;
};

#endif  //MESSAGE_QUEUE_H

//{+}

